In any communication system where modulated data is transmitted over a non-ideal channel, the receiver has to account for channel impairments while demodulating the received signal. In the particular case of a binary data communication system, the efficiency of the demodulation rests on the ability of the receiver to differentiate between the transmission of a binary “0” or a binary “1” in the received signal. Determining the operating characteristics of the data channel at any given time will allow the receiver to compensate for channel impairments. For binary data communication, the receiver may use two thresholds to determine when a binary “0” or a binary “1” is detected in the received signal. In channels that vary slowly over time, these thresholds may be adapted over time to compensate for changes in the channel. Typically the data channel may be characterized by transmitting a pilot or other signal used to determine the characteristics of the channel. This has the disadvantage of reduced data throughput because of the increased overhead and increased system complexity.